]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
dash: Don't notify two elements for each icon
authorSergio Costas Rodriguez <sergio.costas@canonical.com>
Thu, 16 Apr 2026 11:41:47 +0000 (13:41 +0200)
committerSergio Costas Rodriguez <sergio.costas@canonical.com>
Fri, 17 Apr 2026 09:23:06 +0000 (11:23 +0200)
When the user uses a screen reader and navigates through the
dash, each element is notified as two: one panel with no label,
and then a button with the application name as the label.

This is because each icon has the BUTTON role, but is inside a
container with the PANEL role, so each time the focus changes
from an icon to the next, there is a change in the container,
so the screen reader notifies this. But that container is
useless for the screen reader. The container always read its
label because the label_actor property is set.

This patch fixes this.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/4182>

js/ui/dash.js

index 8dc16dc6a330165ec0135fdeb3ec1f98b845f45b..9ebd348ee8a2b33e491aab03a6cc938b7628e013 100644 (file)
@@ -65,7 +65,6 @@ class DashItemContainer extends St.Widget {
         this.label.hide();
         Main.layoutManager.addChrome(this.label);
         this.label.connectObject('destroy', () => (this.label = null), this);
-        this.label_actor = this.label;
 
         this.child = null;
         this.animatingOut = false;